More Alaska voters than ever are voting by mail or in early voting this year. This page tracks the numbers as reported by the state.
The data come from the Alaska Division of Elections website It’s a 10-page pdf, so I ran a script using tabula-py to extract the data. Additional summary information is available here.I have republished the data here, where you can download the reports from each day. I had a google sheet that was updating automatically, but that kept breaking. Other caveats: this involves getting reports from all across the state, so there are probably reporting delays.
If you see any errors, contact Ben Matheson. Disclaimer - this may not be fully accurate or up to date. It also may break at any time. This is not official or affiliated with anything…enjoy!
| Mail Ballots Sent | Mail Ballots Received | Percent Received | Mail Ballots Rejected |
|---|---|---|---|
| 112,628 | 35,717 | 31.71% | 128 |
Note: these numbers should match what the state has published here.
Early voting started Monday, October 19th. The latest report, issued Monday morning, does not have any of the inperson data.
| District Number | District | Ballots Received | Ballots Sent | Mail Ballots Rejected |
|---|---|---|---|---|
| 28 | South Anchorage | 1835 | 5903 | 4 |
| 33 | Downtown Juneau/Douglas/Haines/ Skagway | 1567 | 4818 | 8 |
| 14 | Eagle River/Chugach State Park | 1459 | 4153 | 8 |
| 24 | Anchorage - Oceanview | 1417 | 4318 | 4 |
| 21 | West Anchorage | 1336 | 4107 | 3 |
| 27 | Anchorage - Basher | 1305 | 3867 | 1 |
| 26 | Anchorage - Huffman | 1243 | 4054 | 3 |
| 20 | Anchorage - Downtown | 1219 | 3592 | 3 |
| 22 | Anchorage - Sand Lake | 1193 | 3773 | 0 |
| 34 | Mendenhall Valley | 1169 | 3794 | 6 |
| 18 | Anchorage - Spenard | 1165 | 3532 | 7 |
| 04 | Western Fairbanks | 1155 | 3359 | 2 |
| 16 | Anchorage - College Gate | 1129 | 3200 | 1 |
| 25 | Anchorage - Abbott | 1124 | 3594 | 2 |
| 31 | Homer/South Kenai | 1059 | 4003 | 8 |
| 35 | Sitka/Petersburg | 960 | 3114 | 8 |
| 17 | Anchorage - University | 950 | 2954 | 0 |
| 06 | Eielson/Denali/Upper Yukon/Border Region | 884 | 2314 | 0 |
| 12 | Chugiak/Gateway | 868 | 2815 | 2 |
| 11 | Greater Palmer | 863 | 2547 | 5 |
| 13 | Fort Richardson/North Eagle River | 859 | 2439 | 3 |
| 23 | Anchorage - Taku | 859 | 2830 | 6 |
| 05 | Chena Ridge/Airport | 832 | 2569 | 4 |
| 30 | Kenai/Soldotna | 817 | 2651 | 4 |
| 09 | Richardson Hwy/East Mat-Su | 806 | 2422 | 4 |
| 10 | Rural Mat-Su | 748 | 2622 | 0 |
| 01 | Downtown Fairbanks | 721 | 2028 | 2 |
| 32 | Kodiak/Cordova/Seldovia | 711 | 2248 | 2 |
| 19 | Anchorage - Mountainview | 699 | 2014 | 2 |
| 36 | Ketchikan/Wrangell/Metlakatla/Hydaburg | 674 | 2086 | 5 |
| 15 | Elmendorf | 669 | 2054 | 5 |
| 29 | North Kenai | 623 | 2898 | 2 |
| 07 | Greater Wasilla | 613 | 2130 | 3 |
| 08 | Big Lake/Point Mackenzie | 609 | 2086 | 4 |
| 03 | North Pole/Badger | 527 | 1572 | 1 |
| 02 | Fairbanks/Wainwright | 486 | 1420 | 1 |
| 37 | Bristol Bay/Aleutians/Upper Kuskokwim | 238 | 1101 | 3 |
| 38 | Lower Kuskokwim | 133 | 601 | 0 |
| 39 | Bering Straits/Yukon Delta | 107 | 486 | 1 |
| 40 | Arctic | 59 | 507 | 1 |
| 99 | NA | 27 | 53 | 0 |
I have data begining October 14th. This should show how ballots come in as more ballots come in each day.
For each Alaska House district, I have the number of registered voters (as of October 3, this report). You can see which districts are seeing more take-up of mail voting relative to their voter base. Additional this compares the 2020 completed mail ballots to the full 2016 election turnout. This is not really finished yet.
The Alaska Division of Elections data is originally is published in a 10-page PDF that I parsed to extract the data. This uses a combination of R and Python. The Python uses Tabula to pull out the data. After that, an R script cleans out extra spaces, gaps, and labels the rows by house district and adds descriptions. I wanted to do everything in R, but I couldn’t get rJava loaded for the Tabulizer, so the tabula-py library ended up being more expedient.
This page is an RMarkdown document that calculates some summary stats, like percent rejected and then displays the data in several ggplot2 plots. The PDF parsing in particular may be brittle and this could definitely break at anytime.